#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
第一行注释是为了告诉Linux/OS X系统，这是一个Python可执行程序，Windows系统会忽略这个注释；
第二行注释是为了告诉Python解释器，按照UTF-8编码读取源代码，否则，你在源代码中写的中文输出可能会有乱码。
'''

print 'Hello World'

# print会依次打印每个字符串，遇到逗号“,”会输出一个空格
print 'Hello World','I am learning'+'Python' 
print '100+200=',100+200

print 22+3

# 接受用户输入并赋值
input=raw_input(u'please input something:')

print 'My Input =',input,u'input的长度是',len(input)


# 测试转义字符

print "I'am God"
# 转义\
print 'I\'am God'
# 换行符 \n
print "I'am learning\nPython"

print '\\\t\\'
# r''表示里面的内容不转义
print r'\\\t\\'

# 输出中文
print u'中文'

# 把u'xxx'转换为UTF-8编码的'xxx'用encode('utf-8')方法
u'中文'.encode('utf-8')

# len()函数可以返回字符串的长度
print len('ABC')

#格式化  %%可以输出 %
print 'Hello,%s %%' % 'tangzhijie'
print 'I\'am %s,i\'am %d years old' %('tzj',10)
print '%d-%02d-%02d' %(3,1,20)
print '%d-%03d' %(3,1)

#保留2位小数
print '%.2f' %21.32145
#保留3位小数
print '%.3f' %21.32145

print '%.2f' %12.00


'''下面是list列表学习'''

classmates=['zhangsan',u'李四','wangwu']
print u'第一个元素='+classmates[0]
print u'最后一个元素='+classmates[-1]
print u'classmates的长度=',len(classmates)
print u'classmates的长度='+repr(len(classmates))

#append添加一个元素到尾部
classmates.append('zhaoliu')

#insert(1,'liubei')添加一个元素到指定位置
classmates.insert(1,'liubei')

# pop删除末尾的元素
print u'出栈的元素是：'+classmates.pop()

print 'pop(0)='+classmates.pop(0)

print classmates


names=['t',['z','j'],'h']
#输出二维数组中的z
print names[1][0]


'''下面是元组tuple学习'''
#tuple一旦初始化就不能修改,没有insert或者pop等方法
animals=('dog','cat','mouse')
print animals
#tuple只有一个元素时，也要加 , 否则会认为是数学意义上的()
animals=('dog',)
print animals

#元组中的list是可变的
animals=('dog',['cat','mouse'])
animals[1][0]='pig'

print animals

'''if语句'''

#my_age=int(raw_input('age:'))
my_age=25

if my_age>=20:
	print u'青年'
elif my_age>=40:
	print u'中年'
else:
	print u'少年'
	
'''for循环'''

letters=['A','B','C','D']
for letter in letters:
	print letter
	

#range(101)就可以生成0-100的整数序列
sum=0
for i in range(101):
	sum+=i
print 'sum='+str(sum)

'''while循环'''
count=10
while count>=0:
	print str(count)
	count-=1;
	

	
'''字典dic'''
studentMap={'zhangsan':20,'lisi':30,'wangwu':40}
print "studentMap['zhangsan']="+str(studentMap['zhangsan'])

#改变键对应的值
studentMap['zhangsan']='sss'
print studentMap
print "studentMap['zhangsan']="+str(studentMap['zhangsan'])

#判断key是否存在方法一
print 'zhaoliu' in studentMap
#判断key是否存在方法二,不存在会返回第二个参数
print studentMap.get('zhangsan')
print studentMap.get('zhijie',-1)

#删除某项
studentMap.pop('zhangsan')
print studentMap

'''set 无重复数据'''
s=set([1,2,3,4])
print s

p=set([1,1,2,3,5,6,6,7,7])
print p

p.add(99)
p.remove(7)
print p

#两个set之间可以取交集和并集
s1=set([1,2,3])
s2=set([3,4,5])
print 's1&s2=',s1&s2
print 's1|s2=',s1|s2